package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 【请填写功能名称】对象 period
 * 
 * @author ruoyi
 * @date 2025-05-10
 */
public class Period extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 商品编号 */
    @Excel(name = "商品编号")
    private String snId;

    /** 规格 */
    @Excel(name = "规格")
    private Long specificationId;

    /** 仓库 */
    @Excel(name = "仓库")
    private Long warehouseId;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 即时库存 */
    @Excel(name = "即时库存")
    private String timeinventory;

    /** 可用库存 */
    @Excel(name = "可用库存")
    private String availablestock;

    /** 批次 */
    @Excel(name = "批次")
    private String batch;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date manufacture;

    /** 保质期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "保质期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date period;

    /** 到期日 */
    @Excel(name = "到期日")
    private Long duedate;

    /** 预警天数 */
    @Excel(name = "预警天数")
    private Long days;

    /** 预警日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预警日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date date;
    private String goodsName;
    private String specification;
    private String warehouseName;
    private String remainingDays;

    public String getRemainingDays() {
        return remainingDays;
    }

    public void setRemainingDays(String remainingDays) {
        this.remainingDays = remainingDays;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getSpecification() {
        return specification;
    }

    public void setSpecification(String specification) {
        this.specification = specification;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSnId(String snId) 
    {
        this.snId = snId;
    }

    public String getSnId() 
    {
        return snId;
    }
    public void setSpecificationId(Long specificationId) 
    {
        this.specificationId = specificationId;
    }

    public Long getSpecificationId() 
    {
        return specificationId;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setTimeinventory(String timeinventory) 
    {
        this.timeinventory = timeinventory;
    }

    public String getTimeinventory() 
    {
        return timeinventory;
    }
    public void setAvailablestock(String availablestock) 
    {
        this.availablestock = availablestock;
    }

    public String getAvailablestock() 
    {
        return availablestock;
    }
    public void setBatch(String batch) 
    {
        this.batch = batch;
    }

    public String getBatch() 
    {
        return batch;
    }
    public void setManufacture(Date manufacture) 
    {
        this.manufacture = manufacture;
    }

    public Date getManufacture() 
    {
        return manufacture;
    }
    public void setPeriod(Date period) 
    {
        this.period = period;
    }

    public Date getPeriod() 
    {
        return period;
    }
    public void setDuedate(Long duedate) 
    {
        this.duedate = duedate;
    }

    public Long getDuedate() 
    {
        return duedate;
    }
    public void setDays(Long days) 
    {
        this.days = days;
    }

    public Long getDays() 
    {
        return days;
    }
    public void setDate(Date date) 
    {
        this.date = date;
    }

    public Date getDate() 
    {
        return date;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("snId", getSnId())
            .append("specificationId", getSpecificationId())
            .append("warehouseId", getWarehouseId())
            .append("unit", getUnit())
            .append("timeinventory", getTimeinventory())
            .append("availablestock", getAvailablestock())
            .append("batch", getBatch())
            .append("manufacture", getManufacture())
            .append("period", getPeriod())
            .append("duedate", getDuedate())
            .append("days", getDays())
            .append("date", getDate())
            .toString();
    }
}
